-
Notifications
You must be signed in to change notification settings - Fork 114
chore(release): v2.4.0-beta #2345
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
* add time validation core logic Signed-off-by: onur-ozkan <[email protected]> * nit fixes Signed-off-by: onur-ozkan <[email protected]> * handle time gap Signed-off-by: onur-ozkan <[email protected]> * improve logging Signed-off-by: onur-ozkan <[email protected]> * add more trackable processing logs Signed-off-by: onur-ozkan <[email protected]> * improve info log and remove debugging leftover Signed-off-by: onur-ozkan <[email protected]> * rename `NetworkInfoRequest` to `PeerInfoRequest` Signed-off-by: onur-ozkan <[email protected]> * handle recently dialed peers Signed-off-by: onur-ozkan <[email protected]> * add useful logs Signed-off-by: onur-ozkan <[email protected]> * create function for pre-dial check Signed-off-by: onur-ozkan <[email protected]> * set max cap for timestamp channel Signed-off-by: onur-ozkan <[email protected]> * remove leftover Signed-off-by: onur-ozkan <[email protected]> * use `Multiaddr` as key Signed-off-by: onur-ozkan <[email protected]> * fix p2p tests Signed-off-by: onur-ozkan <[email protected]> * update logs Signed-off-by: onur-ozkan <[email protected]> * rename leftovers Signed-off-by: onur-ozkan <[email protected]> * update timing values Signed-off-by: onur-ozkan <[email protected]> * minor fixes Signed-off-by: onur-ozkan <[email protected]> * update pre dial check calls Signed-off-by: onur-ozkan <[email protected]> * apply nit fixes Signed-off-by: onur-ozkan <[email protected]> * don't update existing expiries Signed-off-by: onur-ozkan <[email protected]> * revert breakage Signed-off-by: onur-ozkan <[email protected]> --------- Signed-off-by: onur-ozkan <[email protected]>
* handle p2p features properly Signed-off-by: onur-ozkan <[email protected]> * use `PeerId` type for timestamp channel straight away Signed-off-by: onur-ozkan <[email protected]> --------- Signed-off-by: onur-ozkan <[email protected]>
* update wasm build for docker * lock wasm-pack version on build runners Signed-off-by: onur-ozkan <[email protected]> --------- Signed-off-by: onur-ozkan <[email protected]> Co-authored-by: onur-ozkan <[email protected]>
…#2295) * add feature flag to mm2_main and mm2_bin_lib tomls * filter 'status:' pr labels * remove old labels * dont allow to pass blocked and invalid statuses * pass in progress and pending review statuses * update statuses list
* switch to proper rust caching Signed-off-by: onur-ozkan <[email protected]> * fix linting Signed-off-by: onur-ozkan <[email protected]> * rename cargo-cache to build-cache Signed-off-by: onur-ozkan <[email protected]> * try caching Signed-off-by: onur-ozkan <[email protected]> * switch to rust-cache Signed-off-by: onur-ozkan <[email protected]> --------- Signed-off-by: onur-ozkan <[email protected]>
* remove unnecessary Arc< The inners are already `Arc<`ed * eth websocket: avoid locking control message sender and clone it instead * review(sami): move tx declaration close to where it's being used * review(sami): free rx end out of the Arc and arc the entire controller channel instead
Signed-off-by: onur-ozkan <[email protected]>
Signed-off-by: onur-ozkan <[email protected]>
* unlock wasm-pack version Signed-off-by: onur-ozkan <[email protected]> * force yes on docker build Signed-off-by: onur-ozkan <[email protected]> --------- Signed-off-by: onur-ozkan <[email protected]>
* fix peer response error log (only if error) * add test for peer time difference validation * fix linux clippy * Revert "fix linux clippy" This reverts commit 2bfe34c. * Revert "add test for peer time difference validation" This reverts commit c8d1165. * Revert "fix peer response error log (only if error)" This reverts commit b6d6fbc. * add docker test for peer time sync validation * remove unneeded test println * use Mm2TestConf::seednode * review(borngraced): refactor get_utc_timestamp with test code * use const in peer time sync test
* Validate Cargo.lock * Revert "Validate Cargo.lock" and add validate-cargo-lock.yml * review: run only `cargo update` and simplify yml
* save dev state Signed-off-by: onur-ozkan <[email protected]> * save dev state Signed-off-by: onur-ozkan <[email protected]> * make proto types serializable for RPC endpoint Signed-off-by: onur-ozkan <[email protected]> * remove dummy test Signed-off-by: onur-ozkan <[email protected]> * add RPC error type Signed-off-by: onur-ozkan <[email protected]> * add TODO Signed-off-by: onur-ozkan <[email protected]> * fix status filtering Signed-off-by: onur-ozkan <[email protected]> * fix clippy warn Signed-off-by: onur-ozkan <[email protected]> * resolve `todo!()`s Signed-off-by: onur-ozkan <[email protected]> * remove inline attribute Signed-off-by: onur-ozkan <[email protected]> * improve `validators_rpc` Signed-off-by: onur-ozkan <[email protected]> * add coverage for tendermint_validators RPC Signed-off-by: onur-ozkan <[email protected]> * apply nit changes Signed-off-by: onur-ozkan <[email protected]> * document `ValidatorStatus` Signed-off-by: onur-ozkan <[email protected]> * use proper error variant on coin filtering Signed-off-by: onur-ozkan <[email protected]> * apply nits Signed-off-by: onur-ozkan <[email protected]> --------- Signed-off-by: onur-ozkan <[email protected]>
…ut (#2283) This commit moves payment existence check in maker_payment/send_taker_payment before timeout validation and skips timeout if payment is already sent, as the taker swap should proceed to waiting for maker to spend the taker payment.
Fixes an issue where passphrases were incorrectly validated as BIP39 mnemonics during storage decryption. Now, passphrases no longer require bip39 validation.
This commit makes the build script straightforward and more stable without causing cache invalidation. The final versioning output remains as is, but the implementation side is robust than ever.
Bumps libp2p from k-0.52.11 to k-0.52.12 to fix build problems on IOS platform.
Adds tendermint protocol support on add_delegation RPC, and extends tendermint transaction history implementation to support delegation transactions.
We now enforce fixed-length byte arrays instead of indexing slices. This prevents unhandled panics when incoming slices are too short. - Replaced slice indexing with safe fixed-size array creation. - Removed methods that relied on unchecked slice indexing. - Ensured each code path now handles invalid lengths gracefully. Closes #2275
Refactor event streaming to support dynamic client subscriptions over RPC using a unified StreamingManager. The StreamingManager now orchestrates background streamers by initializing a streamer when a client activates it via the RPC API and shutting it down when no longer needed. Legacy fee estimator endpoints have been replaced with streaming RPC methods, and new task manager RPCs for BCH and Tendermint have been added. Additionally, event stream configuration has been migrated from static JSON settings to runtime API initialization for improved flexibility.
…2333) This fixes `task::withdraw::init` for non-trezor utxo withdraws as it was failing with "error_data": "NoTrezorDeviceAvailable". It also allows the user to withdraw from any address in the HD wallet using `task::withdraw::init` instead of only the activated address.
Adds tendermint protocol support on remove_delegation RPC, and extends tendermint transaction history implementation to support undelegate transactions.
) This commit also provides EthCoin support in kickstart handler for taker and maker swaps #2300
This commit provides swap protocol versioning with a fallback to legacy swap protocol if any of the swap parties uses it.
Adds a burn output sending 25% of the taker DEX fee to a dedicated pre-burn address. Funds collected on the pre-burn address will be traded for KMD to burn them (thus additionally burning KMD supply).
The first commit in a series of commits related to database architecture changes. Changes here won't have effect on builds since they are guarded with a new-db-arch feature flag. This adds some utility methods in the context to get the global & wallet & address databases and data directories. Also adds some concrete usages of the global db.
…ion (#2412) Was fixed by faking the accepted server version to an unrealistic number then re-mocking it with 1.4 again to test failure and success cases.
Previously it was not possible to query history of Tendermint tokens. This commit makes that possible. It also breaks the tx-history logic due to the new internal ID computation. But still users will not notice this change as it will be handled silently in the background.
DeckerSU
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. The security review of #2345 is complete. All new and updated dependencies were checked, and no malicious code was found. However, the newly introduced KDF/MM2 logic wasn’t reviewed in full—only the new seed derivation, storage, encryption, and decryption procedures were examined, and they appear to be fine for now.
This commit fixes the inconsistency in how startup failures are handled between the native and WASM implementations of mm2_main. Additionally, mm2_main in wasm now return a Promise (async fn with Result<i8, JsValue>).
… file extension (#2400) This commit adds validation in wallet_file_path to only allow alphanumeric characters, dash, and underscore in wallet names. Changes wallet file extension from .dat to .json to better reflect content and adds password policy to mnemonic passwords by default unless allow_weak_password is set to true.
v2.3.0-beta changelogs were missing, so they are added in this commit too.
Also removes Nomics as it was shutdown.
Now uses `validator_address` similar to Cosmos.
From `blockchain.transaction.get` verbose txs
…streaming (#2431) We need to initially register the addresses we wanna get balance notification for. We used to do that in the past at coin enablement time (since event streaming config was static and doesn't change at runtime), that was removed since it doesn't make sense with runtime enabled/disabled streaming. But was never replaced with the appropriate logic to register these addresses once the streamer was enabled. This commit registers our addresses with the event streamer on initialization so it could track them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Testing complete, review feedback addressed, docs drafted.
Nice work on a big update!
Adds changelogs for latest commits that were not included in #2415
v2.4.0-beta - 2025-04-15
Features:
Experimental Namespace:
Event Streaming:
Cosmos Staking:
Enhancements/Fixes:
Event Streaming:
Peer-to-Peer Network:
Trading Protocol Improvements:
is_successfield to legacy swap status response, making success state more explicit #2371Tendermint/Cosmos Improvements:
Wallet Improvements:
FIRO Integration:
Pirate/ARRR Integration:
Database and File System Improvements:
RPC Enhancements:
NFT integration #900:
update_nftto work correctly with HD wallets using the enabled address #2386withdraw_nftmethod to work correctly in HD mode #2424Simple Maker Bot #1065:
UTXO Improvements:
blockchain.transaction.getverbose transactions #2423Qtum Delegation:
validator_addressfor QTUM delegation similar to Cosmos #2419Security Fixes:
Other Changes:
Code and Dependencies:
Build and Testing Improvements:
feat/swapstatus-is-success#2371NB - Backwards compatibility breaking changes: